A server system has conventionally been formed to include a plurality of system boards, each including a central processing unit (CPU) resource, and crossbar boards. At the system board, the CPU performs various types of calculation processes. Results of calculations performed within each system board, data retained by each system board, and the like are transferred to other system boards via the crossbar board. The server system exemplified in FIG. 12 will be described below.
FIG. 12 is a diagram illustrating a configuration of a server system according to a related art. This server system 700 illustrated in FIG. 12 includes system boards 800, 801, 802, 803 and crossbar boards 900, 901. For example, the system board 802, if requested for data by the system board 800, transfers the requested data to the system board 800 via the crossbar board 900.
A data transfer process performed in the server system will be described below with reference to FIG. 13. FIG. 13 illustrates steps of the data transfer process performed among the system boards. As illustrated in FIG. 13, the system board 800 transmits to the crossbar board 900 a packet for inquiring about an address of the data to be requested (S901). The crossbar board 900 then transfers the received packet to all of the system boards 800 to 803 (S902 to S905).
Next, the crossbar board 900 receives response packets having cache states of the respective system boards snooped (S906 to S909) and transfers the received response packets to all of the system boards (S910 to S913). This results in the system boards 800 to 803 having acquired the address of the data requested by the system board 800. Thereafter, the system board 802 that has the data transfers the data requested via the crossbar board 900 to the system board 800 (S914 to S915).
When a fault is detected in such a server system, the system board transmits a special packet for announcing the fault within the server system to all system boards within the server system to thereby notify all system boards of the fault. The system boards that have received the special packet perform respective fault correction processes.
As an exemplary fault correction process, the system board, upon reception of an instruction from an operating system (OS) the system board has, suspends access to, for example, the CPU and a memory owned by the system board in which the fault has occurred. If the fault has occurred in the system board 803 in FIG. 12, the system boards 800 to 802 suspend packet transmission to the system board 803. This results in the system board 803 in which the fault has occurred being disconnected from the system.
If a fault occurs in a crossbar board, the system board performs data transfer by way of another crossbar board different from the crossbar board in which the fault has occurred. If a fault has occurred in the crossbar board 900 in FIG. 12, the system boards 800 to 803 transmit packets by way of the crossbar board 901. Related examples are described in Japanese Laid-open Patent Publication No. 2006-39897 and Japanese Laid-open Patent Publication No. 2004-72547.
The related art described above, however, entails a problem in that the crossbar boards is not possible to be subjected to dynamic maintenance during system operation. Specifically, the crossbar board serves only as a communication path that connects together the system boards and does not have any resource that can be accessed by the OS the system board has. Thus, in the server system, the OS of the system board is unable to access the crossbar board and bring the crossbar board into a state of being disconnectable from the server system.
For example, the crossbar board is unable to respond to access from the OS of the system board and empty packets left in the crossbar board. Thus, the related art does not allow the crossbar board to be brought into the state of being disconnectable from the server system, so that the crossbar board is not possible to be subjected to dynamic maintenance during system operation.
Additionally, the system board changes the crossbar board via which to communicate to thereby suspend transmission of packets to the crossbar board subjected to maintenance. As a result, packets are no longer transmitted to the crossbar board subjected to maintenance. When all packets retained by the crossbar board subjected to maintenance have been transmitted, the crossbar board may be emptied of residual packets. Even in such a case, however, the crossbar board, having no resources to be accessed from the OS the system board has, is unable to notify the server system that the crossbar board is emptied of residual packets.
Specifically, the server system is unable to bring the crossbar board into the state of being disconnectable from the server system even with the crossbar board emptied of residual packets. Thus, in the related art, the crossbar board is not possible to be subjected to dynamic maintenance during system operation.